// pages/repairs/repairs.js

/* 报修 */

Page({

    /**
     * 页面的初始数据
     */
    data: {

      tabs: ['我要报修', '报修记录'], // 菜单栏
      curIdx: 0, //当前导航索引
      scrollHeight: 0, //滚动高度 = 设备可视区高度 -  导航栏高度

      repairsDescribe: '', //描述报修详情

      uploadImages: [], //上传的图片集合
      maxImages: 9, //设置上传图片的最大数目
      isMaxImagesNum: false, //图片数目是否达到了最大数目

      repairTypeArray: ['室内维修', '公共设施'],
      repairTypeIndex: -1,

      linkName: '',
      linkTel: '',
      linkAddress: '',

      recordData: [{
        id: '0',
        typeName: '室内维修',
        state: '待处理',
        detail:'我家水管一直在滴水，这几天特别严重，请尽快安排维修人员帮忙处理。',
        time: '2017-07-10 09:30',
        statusButton:'取消报修'
      }, 
      {
        id: '1',
        typeName: '公共设施',
        state: '进行中',
        detail: '我家水管一直在滴水，这几天特别严重，请尽快安排维修人员帮忙处理。',
        time: '2017-07-10 09:30',
        statusButton: '完成报修'
      },
      {
        id: '2',
        typeName: '公共设施',
        state: '已完成',
        detail: '我家水管一直在滴水，这几天特别严重，请尽快安排维修人员帮忙处理。',
        time: '2017-07-10 09:30',
        statusButton: '删除记录'
      },
      {
        id: '3',
        typeName: '公共设施',
        state: '进行中',
        detail: '我家水管一直在滴水，这几天特别严重，请尽快安排维修人员帮忙处理。',
        time: '2017-07-10 09:30',
        statusButton: '完成报修'
      }]
    },

    onShow: function() {

      /** 100为导航栏swiper-tab 的高度 */
      this.setData({
        scrollHeight: wx.getSystemInfoSync().windowHeight - (wx.getSystemInfoSync().windowWidth / 750 * 100)
      })
    },

    /** 点击切换 */
    clickTab: function(e) {
      this.setData({
        curIdx: e.currentTarget.dataset.current
      })
    },

    /** 滑动切换 */
    swiperTab: function(e) {
      this.setData({
        curIdx: e.detail.current
      });
    },

    /** 报修详情 */
    describeInput: function(e) {
      this.data.repairsDescribe = e.detail.value;
    },

    /** 选择图片 */
    chooseImageTap: function() {
      let _this = this;
      wx.showActionSheet({
        itemList: ['从相册中选择', '拍照'],
        itemColor: "#f7982a",
        success: function(res) {
          if (!res.cancel) {
            if (res.tapIndex == 0) {
              _this.chooseWxImage('album')
            } else if (res.tapIndex == 1) {
              _this.chooseWxImage('camera')
            }
          }
        }
      })
    },

    /** 选图 */
    chooseWxImage: function(type) {
      let _this = this;
      var picsItems;
      wx.chooseImage({
        // 相关属性设置
        count: _this.data.maxImages,
        sizeType: ['original', 'compressed'],
        sourceType: [type],
        success: function(res) {
          var imgsrc = res.tempFilePaths;
          // concat数组连接，且不会改变现有数组
          var picss = _this.data.uploadImages.concat(imgsrc);
          var imagesArr = '';
          if (picss.length >= _this.data.maxImages) {
            _this.setData({
              isMaxImagesNum: true
            });
          }
          // 判断选择的数量是否超过设定数量
          let num = picss.length <= _this.data.maxImages ? picss.length : _this.data.maxImages;
          for (var i = 0; i < num; i++) {
            imagesArr += '{"imgurl":"' + picss[i] + '"},';
          }
          imagesArr = JSON.parse('[' + imagesArr.substring(0, imagesArr.length - 1) + ']');
          _this.setData({
            uploadImages: picss,
            picsItems: imagesArr
          });
        }
      })
    },

    /** 预览所选图片 */
    selImagePre: function(e) {
      let _this = this;
      wx.previewImage({
        urls: this.data.uploadImages,
        current: e.currentTarget.dataset.src
      })
    },

    /** 删除所选图片 */
    delete: function(e) {
      var index = e.currentTarget.dataset.src;
      var images = this.data.uploadImages;

      images.splice(index, 1);

      this.setData({
        uploadImages: images
      });
    },
  
   /** 选择报修类型 */
   typePickerChange: function(e) {
    console.log('picker值为', e.detail.value);
    this.setData({
      repairTypeIndex: e.detail.value
    })
  },

  /** 联系信息 */
  nameInput: function() {
    this.data.linkName = e.detail.value;
  },

  telInput: function() {
    this.data.linkTel = e.detail.value;
  },

  addressInput: function() {
    this.data.linkAddress = e.detail.value;
  },

  // 上传
  submitAction: function() {

  }

})